<template>
	<div v-if="row.actions.length>2">
		<a @click="handleClickMore(row.actions[0].name, row)">{{ row.actions ? row.actions[0].label : '' }}</a>
		<Divider type="vertical" />
		<Dropdown @on-click="(name) => handleClickMore(name, row)" transfer>
			<a>更多
				<Icon type="ios-arrow-down" />
			</a>
			<DropdownMenu slot="list">
				<template v-for="(item, i) in row.actions.slice(1)">
					<DropdownItem v-if="showBtn(item.label)" :key="i" :name="item.name">{{ item.label }}
					</DropdownItem>
				</template>
			</DropdownMenu>
		</Dropdown>
	</div>
	<div v-else>
		<a v-if="row.actions" @click="handleClickMore(row.actions[0].name, row)">{{ row.actions[0].label }}</a>
		<Divider v-if="row.actions && row.actions.length>1" type="vertical" />
		<a v-if="row.actions && row.actions.length>1" @click="handleClickMore(row.actions[1].name, row)">{{
				row.actions[1].label }}</a>
	</div>
</template>
<script>
import { ApiRequest } from '@api/basePage';
import dynamictableactions from '@/mixins/dynamictableactions'; // 混入通用代码
import { mapGetters } from 'vuex';
export default {
  mixins: [dynamictableactions],
  data () {
    return {
      actions: []
    };
  },
  computed: {
    ...mapGetters('permissions/systemBtns', ['showBtn'])
  },
  methods: {
    handleClickMore (name, row) {
      if (name === 'Delete') {
        this.$Modal.confirm({
          title: '删除操作',
          content: '确定删除此数据吗？',
          onOk: () => {
            let data = {
              uuid: row.uuid
            };
            // 开始请求商品列表
            ApiRequest(
              this.requestApi.delTableList.url,
              this.requestApi.delTableList.type,
              data
            ).then((res) => {
              this.$Message.success('删除成功');
              this.actionsChange();
            });
          }
        });
      } else {
        let obj = {}; // 动作的对象信息
        row.actions.forEach((item) => {
          if (name === item.name) {
            obj = item;
            return false;
          }
        });
        this.setTableRowData(row);
        if (obj.handleType === 'link') {
          if (obj.name === 'ViewRecordNo') {
            this.$router.push({
              path: '/commodity/commodityManage/waitAccess/auditing/auditingView',
              query: { recordNo: row.recordNo }
            });
          } else if (obj.name === 'AuditPass') {
            let data = {};
            // 开始请求商品列表
            ApiRequest(
              this.requestApi.auditPassByRecord.url +
                '?recordNo=' +
                row.recordNo,
              this.requestApi.auditPassByRecord.type,
              data
            ).then((res) => {
              if (res.retStatus == 1) {
                this.$Message.success('审核成功');
                this.actionsChange();
              }
            });
          } else if (obj.name === 'AuditFail') {
            let data = {};
            // 开始请求商品列表
            ApiRequest(
              this.requestApi.auditRecordFail.url + '?recordNo=' + row.recordNo,
              this.requestApi.auditRecordFail.type,
              data
            ).then((res) => {
              if (res.retStatus == 1) {
                this.$Message.success('审核成功');
                this.actionsChange();
              }
            });
          } else {
            // 操作类型为链接时，拼接参数跳转
            let jumpPath = this.jumpPath + obj.name;
            this.$router.push({
              path: jumpPath,
              query: { uuid: row.uuid, orderType: row.orderType }
            });
          }
        } else {
          // 操作类型为弹窗时 打开弹窗
        }
      }
    }
  }
};
</script>
